The amount of data representing media information, such as a still image and video image, can be extremely large. Further, transmitting digital video information over communication networks can consume large amounts of bandwidth. The cost of transmitting data from one location to another can be a function of number of bits transmitted per second. Typically, higher bit transfer rates are associated with increased cost. Higher bit rates also can progressively add to required storage capacities of memory systems, which can thereby increase storage cost. Thus, at a given quality level, it can be much more cost effective to use fewer bits, as opposed to more bits, to store digital images and videos. It therefore can be desirable to compress media data for recording, transmitting, or storing.
For a typical compression scheme, achieving higher media quality can require that more bits be used, which can, in turn, increase cost of transmission and/or storage. While lower bandwidth traffic may be desired so may higher quality media.
An encoder is a device capable of encoding (e.g., coding), and sometimes also decoding, digital media data. A decoder is a device capable of decoding digital media data. A codec is a device capable of coding and/or decoding digital media data. The term codec is derived from a combination of the terms code and decode, or the terms compress and decompress. A variety of codecs are commercially available. An encoder or codec, by encoding the digital media data, can reduce the number of bits required to transmit signals, which can thereby reduce associated transmission costs.
Constant bit rate (CBR) control can be desirable in video compression coding, particularly with regard to real-time, bandwidth-limited applications, such as video conferencing and video chat applications. CBR control can be useful for coding in relation to video streaming where it can be desirable to stream media content at a predictable bit rate using a consistent amount of bandwidth. Bit rate control can be achieved, for example, by changing the quantization value from time to time during the video compression encoding process. Some conventional systems control quantization to frame level or slice/segment level. However, this often cannot achieve an adequate constant bit rate. Certain conventional codec designs, such as MPEG-2, H.263 and H.264, employ macroblock-level quantization control to achieve CBR. These conventional codec designs control CBR by explicitly carrying the quantization change information (e.g., quantization value or quantization adjustment value) in the bitstream. However, this quantization change information typically can use a substantial amount of bits.